/**
 * @param {number[]} nums
 * @return {number[][]}
 */
var subsets = function(nums) { //分为以0开始，1开始，xxx开始的情况
    const  result = [] 
     
     function backTrack(start, curr){
         result.push([...curr])
         for(let i = start; i < nums.length; i++){
             curr.push(nums[i])
             backTrack(i+1,curr)
             curr.pop()
         }
     }
     backTrack(0,[])
     return result
};